package br.com.foxinline.servico;

import br.com.foxinline.modelo.Grupo;
import br.com.foxinline.modelo.Usuario;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.Query;

/**
 *
 * @author cadomeireles
 */
@Stateless
public class GrupoServico extends ServicoGenerico<Grupo> {

    public GrupoServico() {
        super(Grupo.class);
    }
    
    public List<Grupo> pesquisar(Usuario usuario) {
        String sql = "select usuario.grupos from Usuario usuario";
        
        if (usuario != null && usuario.getId() != null) {
            sql += " where usuario = :usuario";
        }
        
        Query query = getEntityManager().createQuery(sql);
        if (usuario != null && usuario.getId() != null) {
            query.setParameter("usuario", usuario);
        }
        return query.getResultList();
    }

    public List<Grupo> autocompletar(String query){
        return buscarPeloNome(query);
    }

    public List<Grupo> buscarPeloNome(String query){
        List<Grupo> grupos = getEntityManager().createQuery("select grupo from " + Grupo.class.getSimpleName() + " grupo where lower(grupo.nome) like '%" + query.toLowerCase().trim() + "%'").getResultList();
        return grupos;
    }

}
